package org.dromara.system.service;

import org.dromara.common.core.domain.R;
import org.dromara.common.excel.core.ExcelResult;
import org.dromara.system.domain.WbProjectInfo;
import org.dromara.system.domain.vo.WbProjectInfoVo;
import org.dromara.system.domain.bo.WbProjectInfoBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 计划Service接口
 *
 * @author Lion Li
 * @date 2024-04-22
 */
public interface IWbProjectInfoService {

    /**
     * 查询计划
     */
    WbProjectInfoVo queryById(Long id);

    /**
     * 查询计划列表
     */
    TableDataInfo<WbProjectInfoVo> queryPageList(WbProjectInfoBo bo, PageQuery pageQuery);

    /**
     * 查询计划列表 (小程序)
     */
    TableDataInfo<WbProjectInfoVo> queryPageListZ(WbProjectInfoBo bo, PageQuery pageQuery);

    /**
     * 查询计划列表
     */
    List<WbProjectInfoVo> queryList(WbProjectInfoBo bo);

    /**
     * 新增计划
     */
    Boolean insertByBo(WbProjectInfoBo bo);

    /**
     * 修改计划
     */
    Boolean updateByBo(WbProjectInfoBo bo);

    /**
     * 校验并批量删除计划信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    R importDate(ExcelResult<WbProjectInfoVo> result);

}
